clear
%oad ../parameter_sandbox_ces/eq_mit_mass.mat 
load ../free_entry_ces/eq_mit_entry.mat
%load ../prod/calibration_v3/sandbox_ces/eq_mit_mass.mat
eq_mit_ces = eq_mit;

clearvars -except eq_mit_ces

%load ../parameter_sandbox_wage_rule/eq_mit_mass.mat 
load ../free_entry/eq_mit_entry.mat
%load ../prod/calibration_v3/sandbox/eq_mit_mass.mat

clearvars -except eq_mit_ces glob options eq_mit

%% get actual data - mass of firms

%Ns = [1, 1 - .04];% + [0.0000000 -0.7654149 -4.1384743 -5.6245749 -6.4591448 -5.1005793 -4.2323999]/100;
Ns =  1 - [7.13]/100;

prods = repmat(exp(glob.sf(:,2)), 1, options.T);

%% pick scaling coefficients
Labor       =  eq_mit.l;
total_labor =  sum(eq_mit.mu.*Labor);

adj = sum(eq_mit.mu,1);
scx = pick_scale(adj, Ns);

mass = sum(eq_mit.mu,1);
Ns = log_linear_scale(mass, scx)/mass(end);
Ns = Ns(1:50);

adj_ces = sum(eq_mit_ces.mu,1);

scx_ces = pick_scale(adj_ces, Ns);
%scx_ces = [0 -diff(Ns-1)]/scx;


%% compute cost-weighted markups
ngdp = sum(eq_mit.mu.*eq_mit.p.*eq_mit.y);
labor_bill = eq_mit.W'.*sum(eq_mit.l.*eq_mit.mu);
labor_share = (labor_bill./ngdp);

ngdp = sum(eq_mit_ces.mu.*eq_mit_ces.p.*eq_mit_ces.y);
labor_bill = eq_mit_ces.W'.*sum(eq_mit_ces.l.*eq_mit_ces.mu);
labor_share_ces = (labor_bill./ngdp);


%%
set(0,'defaultaxesfontname','cambria math') % beautify the axes a bit
set(0,'defaultTextFontName', 'cambria math')


close all

T = 15;
subplot(2,3,1)
mass = sum(eq_mit.mu,1);
plot(log_linear_scale_plot(mass, scx), 'LineWidth', 4); xlim([1 T]); title('Mass of firms')
ytickformat('percentage')

hold on
mass_ces = sum(eq_mit_ces.mu,1);
plot(log_linear_scale_plot(mass_ces, scx_ces), 'r-.', 'LineWidth', 4);
yline(0, '--')

%plot(Ns, 'LineWidth', 4)
legend('Kimball', 'CES', 'Location', 'Southeast')

subplot(2,3,5)
plot(log_linear_scale_plot(eq_mit.C, scx), 'LineWidth', 4); xlim([1 T]);  title('Output')
hold on
plot(log_linear_scale_plot(eq_mit_ces.C, scx_ces), 'r-.', 'LineWidth', 4); xlim([1 T]); ylim([-5 0]); title('Output')
ytickformat('percentage')

subplot(2,3,6)
plot(log_linear_scale_plot(eq_mit.W, scx), 'LineWidth', 4); xlim([1 T]); ylim([-3 0]); title('Wage')
hold on
plot(log_linear_scale_plot(eq_mit_ces.W, scx_ces),  'r-.', 'LineWidth', 4)
ylim([-3 0])
ytickformat('percentage')

subplot(2,3,4)
plot(log_linear_scale_plot(eq_mit.L, scx), 'LineWidth', 4); xlim([1 T]); title('Employment')
hold on
plot(log_linear_scale_plot(eq_mit_ces.L, scx_ces), 'r-.', 'LineWidth', 4); xlim([1 T]); title('Employment')
ytickformat('percentage')
ylim([-2.5 0])

labor_share = 1./labor_share;
labor_share_ces = 1./labor_share_ces;

 subplot(2,3,2)
 plot((log_linear_scale_plot(labor_share, scx)), 'LineWidth', 4); xlim([1 T]); title('Markup')
 hold on
plot((log_linear_scale_plot(labor_share_ces, scx_ces)), 'r-.', 'LineWidth', 4); xlim([1 T]); title('Markup')
ytickformat('percentage')

subplot(2,3,3)

Ys    = repmat(eq_mit.C',glob.Nsf,1);
Z     = sum(eq_mit.y./Ys./prods.*eq_mit.mu);
tfp   = log_linear_scale(Z.^(-1), scx);

Ys    = repmat(eq_mit_ces.C',glob.Nsf,1);
Z     = sum(eq_mit_ces.y./Ys./prods.*eq_mit_ces.mu);
tfp_ces   = log_linear_scale(Z.^(-1), scx_ces);


plot(100*(tfp/tfp(end)-1), 'LineWidth', 4); xlim([1 T]);
hold on
plot(100*(tfp_ces/tfp_ces(end)-1),  'r-.', 'LineWidth', 4); xlim([1 T]);
ylim(100*([.985 1]-1))
ytickformat('percentage')

title('Effective TFP')
set(gcf,'units','points','position',[10,10,1000,600])
set(findall(gcf,'-property','FontSize'),'FontSize',16)

print('-dpng', 'figures/kimball_vs_ces_new.png')



